/**
 * This class will implement the parking Row Entity
 * 
 * @author Gil Levinson
 * @author Boris Fradlis
 * @author Yogev Levi
 * @author Hila Porat
 *  
 */
package vcpClasses;

import java.io.Serializable;

// Start of ParkingFloor ***************************************************

@SuppressWarnings("serial")
public class ParkingFloor implements Serializable {
	
	//Class variables ******************************************************
	
	private int floorNumber;
	private int lotNumber;
	private String parkingFloorStatus;

	// Constructors ********************************************************
	
	/**
	 * Constructor using the following fields:
	 * @param floorNumber - the number of floor in the parking lot
	 * @param parkingFloorStatus - the status of the floor
	 */
	public ParkingFloor(int floorNumber, String parkingFloorStatus) {
		this.floorNumber = floorNumber;
		this.parkingFloorStatus = parkingFloorStatus;
	}
	
	/**
	 * Create an parking row using other parking floor wrapped in serializable object 
	 * @param obj the serializable object 
	 */

	public ParkingFloor(Serializable obj) {
		this.setFloorNumber(((ParkingFloor)obj).getFloorNumber());
		this.lotNumber = ((ParkingFloor)obj).getLotNumber();
	}
	
	/**
	 * Constructor using the following fields:
	 * @param lotNumber the lot number of the floor
	 * @param floorNumber the floor number in the lot
	 */
	
	public ParkingFloor(int lotNumber, int floorNumber) {
		this.setFloorNumber(floorNumber);
		this.setLotNumber(lotNumber);
	}

	// Setters and Getters **************************************


	/**
	 * @return the floorNumber
	 */
	public int getFloorNumber() {
		return floorNumber;
	}

	/**
	 * @param floorNumber the floorNumber to set
	 */
	public void setFloorNumber(int floorNumber) {
		this.floorNumber = floorNumber;
	}

	/**
	 * @return the parkingFloorStatus
	 */
	public String getParkingFloorStatus() {
		return parkingFloorStatus;
	}

	/**
	 * @param parkingFloorStatus the parkingFloorStatus to set
	 */
	public void setParkingFloorStatus(String parkingFloorStatus) {
		this.parkingFloorStatus = parkingFloorStatus;
	}


	/**
	 * @return the lotNumber
	 */
	public int getLotNumber() {
		return lotNumber;
	}


	/**
	 * @param lotNumber the lotNumber to set
	 */
	public void setLotNumber(int lotNumber) {
		this.lotNumber = lotNumber;
	}
}
